<!doctype html>
<html>
<head>
<script src="../../resources/js-test.js"></script>
<script>
if (window.testRunner)
    testRunner.dumpAsText();
</script>
</head>
<body>
  <ul>
    <li id='scope'><a>abc</a></li>
    <li>def</li>
    <li><a>efg</a></li>
  </ul>
</body>
<script>
description('This test makes sure that :scope works correctly.');

var scope = document.getElementById('scope');
shouldBe('scope.querySelectorAll("ul a").length', '1');
shouldBe('scope.querySelector("ul a")', 'scope.firstChild');
shouldBe('scope.querySelectorAll(":scope ul a").length', '0');
shouldBeNull('scope.querySelector(":scope ul a")');
shouldBe('document.querySelectorAll(":scope ul a").length', '2');
shouldBe('document.querySelectorAll(":root ul a").length', '2');

shouldBe('document.querySelectorAll(":scope a").length', '2');
shouldBe('scope.querySelectorAll(":scope a").length', '1');
shouldBe('scope.querySelectorAll(":scope a").item(0)', 'scope.firstChild');
shouldBe('scope.querySelector(":scope a")', 'scope.querySelectorAll(":scope a").item(0)');
</script>
</html>
